Comparison of structured storage software

Structured storage is computer storage for structured data, often in the form of a distributed database.[1] Computer software formally known as structured storage systems include Apache Cassandra,[2] Google's BigTable[3] and HBase.[4]

Comparison

The following is a comparison of notable structured storage systems.

Project Name Type Persistence Replication High Availability Transactions Rack-locality Awareness Implementation Language Influences, Sponsors License
AllegroGraph Graph database Yes No - v5, 2010 Yes Yes No Common Lisp Franz Inc. Commercial, Limited Free Version
Apache Jackrabbit Key-value & Hierarchical & Document Yes Yes Yes Yes likely Java Apache, Roy Fielding, Day Software Apache 2.0
Berkeley DB/Dbm/Ndbm (bdb)1.x Key-value Yes No No No No C old school Various
Berkeley DB Sleepycat/Oracle Berkeley DB 2.x Key-value Yes Yes Unknown Yes No C, C++, or Java dbm, Sleepycat/Oracle dual BSD-like Sleepycat License/commercial
Cassandra Key-value Yes Yes Distributed Eventually consistent Yes Java Dynamo and BigTable, Facebook/Digg/Rackspace Apache 2.0
CouchDB Document Yes Yes replication + load balancing Atomicity is per document, per CouchDB instance No Erlang Lotus Notes / Ubuntu, Mozilla, IBM Apache 2.0
Extensible Storage Engine(ESE/NT) Document or Key-value Yes No No Yes No C++, Assembly Microsoft per Windows License
GigaSpaces Tuple Space & Relational & Document & key-value Yes Yes Yes Yes Depends on user configuration Java Tuple space commercial
GT.M Key-value Yes Yes Yes Yes Depends on user configuration C (small bits of assembly language) FIS AGPL v3
Project Name Type Persistence Replication High Availability Transactions Rack-locality Awareness Implementation Language Influences, Sponsors License
HBase Key-value Yes. Major version upgrades require re-import. See HDFS, S3 or EBS. maybe with Zookeeper in 0.21? Unknown See HDFS, S3 or EBS. Java BigTable Apache 2.0
Hypertable Key-value Yes Yes, with KosmosFS and Ceph coming in 2.0 coming Yes, with KosmosFS C++ BigTable GPL 2.0
Information Management System IBM IMS aka DB1 Key-value. Multi-level Yes Yes Yes, with HALDB Yes, with IMS TM Unknown Assembler IBM since 1966 Proprietary
Memcached Key-value No No No Yes No C Six Apart/Couchbase/Fotolog/Facebook BSD-like permissive copyright by Danga
MongoDB Document (JSON) Yes Yes fail-over Single document atomicity No C++ 10gen GNU AGPL v3.0
Neo4j Graph database Yes Yes Yes Yes No Java Neo Technology GNU GPL v3.0
Redis Key-value Yes. But last few queries can be lost. Yes No Yes No Ansi-C VMWare, Memcache BSD
SimpleDB (Amazon.com) Document & Key-value Yes Yes (automatic) Yes Unknown likely Erlang Amazon.com Amazon internal only
Tarantool Free-dimensional tuples with primary and secondary keys Yes. (Asynchronous) Yes Yes Yes No Objective C, Lua Memcached, Mnesia, MySQL, Mail.ru BSD
Project Name Type Persistence Replication High Availability Transactions Rack-locality Awareness Implementation Language Influences, Sponsors License

See also

References

  1. ^ Hamilton, James (3 November 2009). "Perspectives: One Size Does Not Fit All". http://perspectives.mvdirona.com/CommentView,guid,afe46691-a293-4f9a-8900-5688a597726a.aspx. Retrieved 13 November 2009. 
  2. ^ Lakshman, Avinash; Malik, Prashant. Cassandra - A Decentralized Structured Storage System. Cornell University. http://www.cs.cornell.edu/projects/ladis2009/papers/lakshman-ladis2009.pdf. Retrieved 13 November 2009. 
  3. ^ Chang, Fay; Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber. Bigtable: A Distributed Storage System for Structured Data. Google. http://labs.google.com/papers/bigtable-osdi06.pdf. Retrieved 13 November 2009. 
  4. ^ Kellerman, Jim. "HBase: structured storage of sparse data for Hadoop". http://www.rapleaf.com/pdfs/hbase_part_2.pdf. Retrieved 13 November 2009.